package com.community.owner.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.community.common.annotation.Excel;
import com.community.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 业主信息对象 owner
 * 
 * @author ruoyi
 * @date 2025-10-25
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Owner extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 业主ID */
    @ExcelProperty("业主ID")
    private Long ownerId;

    /** 用户ID */
    @ExcelProperty("权限用户ID")
    private Long userId;

    /** 房屋ID */
    @ExcelProperty("权限房屋ID")
    private Long houseId;


    // 新增字段
    @ExcelProperty("权限身份证号")
    private String idCard;
    @ExcelProperty("权限性别")
    private String gender;
    @ExcelProperty("权限出生日期")
    private Date birthDate;
    @ExcelProperty("权限民族")
    private String nation;
    @ExcelProperty("权限婚姻状态")
    private String maritalStatus;
    @ExcelProperty("权限户口类型")
    private String householdType;
    @ExcelProperty("权限地址")
    private String currentAddress;
    @ExcelProperty("权限联系人姓名")
    private String emergencyContactName;
    @ExcelProperty("权限联系人关系")
    private String emergencyContactRelation;
    @ExcelProperty("权限联系人电话")
    private String emergencyContactPhone;
    private String OwnerType;

    // 添加关联字段
    private String nickName;     // 昵称
    private String roomNo;       // 房产名称
    private String userName;     // 姓名
    private String phonenumber;  // 手机号
    private String type;         // 类型
    private Date bindDate;       // 绑定日期
    private String status;       // 账号状态




    public void setOwnerId(Long ownerId) 
    {
        this.ownerId = ownerId;
    }

    public Long getOwnerId() 
    {
        return ownerId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setHouseId(Long houseId) 
    {
        this.houseId = houseId;
    }

    public Long getHouseId() 
    {
        return houseId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ownerId", getOwnerId())
            .append("userId", getUserId())
            .append("houseId", getHouseId())
            .toString();
    }
}
